#ifndef RENDERER_H
#define RENDERER_H

#include "SDL.h"
#include "SDL_image.h"
#include "Map.h"
#include "Renderable.h"
#include <string>

class Renderer {
public:
	Renderer() {}
	Renderer(SDL_Surface* screen);
	void applySurface(int x, int y, SDL_Surface* source, SDL_Surface* destination = NULL, SDL_Rect* clip = NULL);
	SDL_Surface* loadImage(std::string filename);
	void setCenterPoint(int x, int y);
	int getCenterX() { return centerX; }
	int getCenterY() { return centerY; }
	void draw(Map* map);
	void draw(Renderable* entity);
	
private:
	SDL_Surface* screen;
	Uint8 redKey;
	Uint8 greenKey;
	Uint8 blueKey;
	int centerX;
	int centerY;
};


#endif